package com.banding.datastructure;

public class DynamicArrayStack<E> {
    private DynamicArray<E> array;

    public DynamicArrayStack() {
        this.array = new DynamicArray<>();
    }

    /**
     * 将新元素压入栈中
     */
    public void push(E element) {
        array.add(element);
    }

    /**
     * 查询栈内元素个数
     */
    public int size() {
        return array.size();
    }

    //判断栈是否为空
    public boolean isEmpty() {
        return array.isEmpty();
    }

    /**
     * 将栈顶元素弹出栈，并返回该元素
     */
    public E pop() {
        if(isEmpty()){
            return null;
        }
        return array.remove(size()-1);
    }

    /**
     * 获取栈顶元素，但不弹出栈
     */
    public E peek() {
        return array.get(size()-1);
    }

    @Override
    public String toString() {
        return array.toString();
    }
}
